/***********************************************************************************************//**
*\n  @file       bus_uart.hpp
*\n  @brief      uart 串口总线
*\n  @details
*\n -----------------------------------------------------------------------------------
*\n  文件说明：
*\n 	1. uart 串口总线
*\n
*\n -----------------------------------------------------------------------------------
*\n  版本:  	 修改人:       修改日期:        描述:
*\n  V0.01   罗先能        2021.05.18    创建
*\n
***************************************************************************************************/
#pragma once
#ifndef H_13D07D37_939D_4968_ACA4_4B81BDEE2A80_
#define H_13D07D37_939D_4968_ACA4_4B81BDEE2A80_

/**************************************************************************************************
* 头文件
***************************************************************************************************/
#include "bus.hpp"

/**************************************************************************************************
* 宏定义、结构定义
***************************************************************************************************/
#ifdef  __cplusplus //-- C only -----------------------------------------------------------
extern "C" {
#endif



#ifdef  __cplusplus //--C end -------------------------------------------------------------
}
#endif


/**************************************************************************************************
* 全局变量声明、定义
***************************************************************************************************/


/**************************************************************************************************
* 私有变量声明、定义
***************************************************************************************************/


/**************************************************************************************************
* 私有函数声明、定义
***************************************************************************************************/


/**************************************************************************************************
* 全局函数声明、定义
***************************************************************************************************/

#ifdef  __cplusplus //-- C++ only ---------------------------------------------------------
/*************************************************************************************//**
*\n 类名称： TSpiBus()
*\n 功能描述：
*\n            spi总线（接口实现）
*\n
*\n -----------------------------------------------------------------------------------
*\n  版本:   修改人:       修改日期:        描述:
*\n  V0.01 罗先能        2021.5.12     创建
*****************************************************************************************/
class TUartBus : public TBus
{
public:
	TUartBus(const char *name, const char *pDevicePath);
	virtual ~TUartBus();

// -- 继承于基类 ----
public:
	// virtual int Init()                                           override;
	// virtual int Lock()                                           override;
	// virtual int Unlock()                                         override;
	virtual int Read (long address, void *pBuf, long iCnt)       override;
	virtual int Write(long address, void *pBuf, long iCnt)       override;
	virtual int Ioctl(long cmd, 	void *pBuf) 				 override;

public:
	// void* pBaseAddress;      ///< 基地址（虚拟地址）
	// long  mAddressSize;      ///< 地址长度

protected:
	// char mName[64];			 ///< 实例名称
	// pthread_rwlock_t mLock;  ///< 锁
	// int mFd;				 ///< 设备描述符
};


#endif //-- C++ end -------------------------------------------------------------------

#endif // H_13D07D37_939D_4968_ACA4_4B81BDEE2A80_


